package org.jeecg.modules.monitor.service;

import org.jeecg.modules.monitor.domain.RedisInfo;
import org.jeecg.modules.monitor.exception.RedisConnectException;

import java.util.List;
import java.util.Map;

/**
 * @author lixingxing
 */
public interface RedisService {

    /**
     * 获取 redis 的详细信息
     *
     * @param
     * @return java.util.List<org.jeecg.modules.monitor.domain.RedisInfo>
     * @throws RedisConnectException
     */
    List<RedisInfo> getRedisInfo() throws RedisConnectException;

    /**
     * 获取 redis key 数量
     *
     * @param
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @throws RedisConnectException
     */
    Map<String, Object> getKeysSize() throws RedisConnectException;

    /**
     * 获取 redis 内存信息
     *
     * @param
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @throws RedisConnectException
     */
    Map<String, Object> getMemoryInfo() throws RedisConnectException;

}
